package com.tiantang.mybatis.helloworld.mapper;

import com.tiantang.mybatis.helloworld.domain.Department;

/**
 * 
 * @description：功能描述 操作表t_department的dao接口
 * @author： TianTang
 * 创建时间： 2018年2月4日
 * @version：1.0
 * Copyright (c) 2018年 七彩group
 */
public interface DepartmentMapper {

	/**
	 * 
	 * @description：功能描述 插入单条记录，返回主键
	 * 
	 * @param department
	 * @return long 插入数据的主键id
	 * @author： TianTang
	 * 创建时间： 2018年2月4日
	 * @see： 需要参见的其它内容
	 */
	Long insert(Department department);
	
	/**
	 * 
	 * @description：功能描述 根据部门id查询部门
	 * 
	 * @param id 部门id
	 * @return
	 * @author： TianTang
	 * 创建时间： 2018年2月4日
	 * @see： 需要参见的其它内容
	 */
	Department getDepartmentById(Long id);
	
	/**
	 * 
	 * @description：功能描述 通过部门id查询部门时级联查询出所有的员工
	 * 
	 * @param id
	 * @return
	 * @author： liujinkun
	 * 创建时间： 2018年2月5日
	 * @see： 需要参见的其它内容
	 */
	Department getDepartmentAndEmployeesById(Long id);
	
	/**
	 * 
	 * @description：功能描述 通过部门id查询部门同时分步查询部门员工
	 * 
	 * @param id 部门id
	 * @return
	 * @author： liujinkun
	 * 创建时间： 2018年2月5日
	 * @see： 需要参见的其它内容
	 */
	Department getDepartmentAndEmployeesStepById(Long id);

}
